リズムマシン(もどき)

                         TR68K.X ver0.90909

                                            programmed by Mitsuky



● このプログラムは


  Roland のリズムマシン TR-909 風の入力方式を提供するリズム作成ソフトウェ
アです。と言いたいところですが、実物を触った事が無いばかりか楽譜すら読め
ないようなヤツが作ったものなので、実物とは似ても似つかない物になっている
ような気がします。でも楽しいよ。



● インストール


  PCM8.X を常駐させて下さい。

  TR68K.X/TR68K.ZMS/TR68K.PIC/TR68K.SP/TR68K.PAL をパスの通ったディレク
トリにコピーして下さい。必要ならば TR68K.ZMS 中で指定されている .PCM ファ
イルをカレントディレクトリにコピーして下さい。

※以前のバージョンにあったTR68K.CNFは廃止されました。



● 使い方


  TR68K [ファイル名.ZMS]

  で起動します。コマンドラインから .ZMS ファイル名を指定して起動すると、
そのファイルを読み込んで起動します。但し、この機能はあくまでも TR68K.X 
が出力した .ZMS ファイルを読み込むための機能なので、ごく一部の MML コマ
ンドしか解釈しません。既存の .ZMS を読み込もうなどとは思わないで下さい。

  ファイル名を省略した場合は TR68K.ZMS を読み込んで起動します。TR68K.ZMS
はカレントディレクトリ、環境変数 HOME の指すディレクトリ、TR68K.X のある
ディレクトリの順に検索されます。

  [BREAK] キーを押すと終了します。



● 使い方・まず使ってみよう


  起動すると画面にマス目が現れます。これは楽譜で、その上をマウスでクリッ
クする事により音符(には見えない四角い箱)を置いていき、リズムを作成しま
す。

  楽譜の最上段はキックドラム、その次の段はスネアドラム、次がハイハット…
が割り当てられています。表示されている楽譜は1小節ぶんで、これが16分割さ
れています。

                |           |           |           |           |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
K909.PCM        |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
SD909.PCM       |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
CH909.PCM       |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

  K909.PCM はキックドラムの PCM です。ここでキックドラムのマス目を4つお
きに左クリックします。

                |           |           |           |           |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
K909.PCM        |8|  |  |  |8|  |  |  |8|  |  |  |8|  |  |  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

  すると「8」という数字がマス目に現れます。この「8」は音量で、こうする
と「ドン・ドン・ドン・ドン」とキックドラムの音が再生されます。次に SD909
(スネアドラム)の段もクリックしてみます。

                |           |           |           |           |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
K909.PCM        |8|  |  |  |8|  |  |  |8|  |  |  |8|  |  |  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
SD909.PCM       |  |  |8|  |  |  |8|  |  |  |8|  |  |  |8|  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

  こうすると「ドン・タン・ドン・タン・ドン・タン・ドン・タン」という音が
再生されます。簡単ですね。こうやってリズムを作っていきます。間違えた時は
右クリックするとその数字が消えます。


                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
SD909.PCM       |  |  |8|  |  |  |8|  |  |  |8|  |  |  |8|  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
                                   ↑ここで右クリック
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
SD909.PCM       |  |  |8|  |  |  |  |  |  |  |8|  |  |  |8|  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
                                   ↑こうなる

  数字以外の所で右クリックするとマウスカーソルの色が変わりますが、ここで
は赤のまま色を変えずに使って下さい(誤って色を変えてしまった時は4回クリッ
クするごとに色が戻ります)。



● 使い方・ちょっと高度な使い方


  さて、先ほどのマウスカーソルの色について説明します。マウスカーソルの色
は赤緑青黄の4色あり、楽譜上の数字のない所で右クリックすると色を変えるこ
とができます。色が変わった時点で左クリックするとその色の数字を置くことが
できます。色の違った数字は違う音を再生します。

  実例を見ていきましょう。ハイハットの段(CH909.PCM)は

        ・赤=ハイハットクローズ(「チッ」という音): CH909.PCM
        ・緑=ハイハットオープン(「チー」という音): OH909.PCM

  が割り当てられています。まずマウスカーソルが赤い状態でマス目を左クリッ
クしていきます(ここでは数字ではなく色で表記します)。

                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
CH909.PCM       |赤|赤|  |  |赤|赤|  |  |赤|赤|  |  |赤|赤|  |  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

  「チチ・チチ・チチ・チチ」という音が発音されたでしょうか。ここで数字の
ない所で右クリックし、マウスカーソルの色を緑色にします。この状態でマス目
を左クリックしていきます。

                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
OH909.PCM       |赤|赤|緑|  |赤|赤|緑|  |赤|赤|緑|  |赤|赤|緑|  |
^^^^^^^^^       +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  ここが変わる

  「チチチー・チチチー・チチチー・チチチー」という音になったでしょうか。
このように色を変えることによって1つの段で複数の音を発音させるのがこの機
能の目的です。もちろん、以下のようにしても構わないのですが、

                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
CH909.PCM       |赤|赤|  |  |赤|赤|  |  |赤|赤|  |  |赤|赤|  |  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
OH909.PCM       |  |  |緑|  |  |  |緑|  |  |  |緑|  |  |  |緑|  |
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

  このようにするよりも段(トラックと言います)の節約になります。

  なお、[SHIFT] キーを押しながら右クリックするとマウスカーソルの色が逆順
に変わります。



● 音量の増減


  既に数字がある場所で左クリックすると数字(音量)が+1されます。初期値
は8で、最大値は15です。これは PCM8.X の音量指定と同じです。[SHIFT] キー
を押しながら左クリックすると音量を-1できます。



● テンポ/小節の増減


  画面中央部に以下のような3つの数字が表示されます。それぞれの数字は右隣
にある矢印をクリックすることにより増減できます。

        TEMPO            CURRENT    MAX
        138 <>             1 <>  /   1 <>

・TEMPO

  演奏テンポです。諸般の事情で大雑把かつ段階的にしか変更できません。

・CURRENT

  現在表示されている小節を表します。

・MAX

  最大小節数を表します。

  CURRENT/MAX の初期値は 1/1 で、これは「全1小節中の1小節目を表示して
いる」事を表します。これが例えば 3/4 の場合、「全4小節中の3小節目を表
示している」事を表します。



● 各種ボタンの操作

・TRACK ボタン

  楽譜部の右隣に TRACK ボタンがあります。

                |           |           |           |           | TRACK
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
K909.PCM        |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   □
                +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   ↑これ

  これをクリックするごとにそのトラックの演奏のオン/オフを選択できます。
このボタンは演奏のみに影響し、データには影響を与えません(演奏オフにする
とトラックの表示が消えますが、データが消えてしまう訳ではありません)。


・COPY/PASTE ボタン

  画面下部の COPY ボタンを押すと表示中の小節を内部バッファにコピーします。
そして PASTE ボタンを押すと内部バッファの内容を表示中の小節にコピーしま
す。

  テキストエディタのコピー/ペーストとほぼ同じ感覚です(範囲指定は常に表
示中の小節)。

  ペースト時に TRACK ボタンで演奏オフになっているトラックにはデータがペー
ストされません。これを用いて任意のトラックのみをコピーする事が可能です
(コピーしたくないトラックだけペースト時に演奏オフにする)。


・SAVE ボタン

  SAVE ボタンを押すと.ZMS形式で演奏データを書き出します。


・LOOP/CHASE ボタン

  LOOP ボタンを押すと現在再生中の小節をループ再生します。

  CHASE ボタンを押すと再生中の小節を追いかけて表示します。


・キーボードでの操作

  [ESC] キーを押すと一時停止します。もう一度 [ESC] を押すと再開します。

  [←]/[→] キーを押すと表示中の小節を移動します。

  [BREAK] キーを押すと終了します。



● TR68K.ZMS の書式


  .ZMS ファイルのサブセットになっているため、詳細は ZMUSIC のマニュアル
を御覧下さい。

  TR68K.X では音階0の cdef が TRACK 0 の赤緑青黄に対応しています。

---- TR68K.ZMS ---
/ 各 cdef が赤緑青黄に対応しています

/       TRACK 0 の4種類
.o0c    = K909.PCM              / 909キック
.o0d    = K909_2.PCM            / 909キック
.o0e    = K909_3.PCM            / 909キック
.o0f    = GYOIN.PCM             / POING
------------------

  以降、音階1が TRACK 1 ~ 音階7が TRACK 7 に対応しています。 '/' から
始まる行はコメントです。



● 積み残し


  セーブファイル名を変更できるとよかった…(ファイルセレクタが間に合わな
かったの)。



● コメント


  電脳倶楽部139号の(水)氏のイカPを読んでいてなんとなくリズムが作れそ
うな気になった!…までは良かったのですが、.ZMS を見ていてもなんだか良く
判らない…のでこんなソフトを作ってみました。

  しかし垂直同期単位で処理を行っているためテンポが大雑把にしか変えられな
いというのが致命的な欠点ですね。本当は ZMUSIC を使えばもっと細かくテンポ
が調整できるんでしょうけど、「リアルタイムにエディットして結果が即座に反
映される」、つまりエディット後に再生ボタンを押して初めて再生されるんじゃ
なく、演奏されっぱなし状態でエディット出来るのがウリのソフトなのでこうい
う方式をとりました。自前でFM音源割り込みを使うと音源ドライバと共存できな
いし(いちいち常駐解除するの面倒ですよね)、あと考えられる方法としては…
メモリ上の.ZMDの直書き替えかなあ?  うーん、要検討事項です。

  とまあ折角リアルタイムエディットが出来るように作ったので、椅子に座らず
踊りながらエディットしちゃって下さい。



● 謝辞


  本ソフトウェアの開発にあたり以下のツールを使用させて頂きました。作者の
方々に深く感謝申し上げます。

        GCC ver1.42     FSF/吉野智興 氏
        LIBC            Project LIBC Group
        MicroEmacs ver1.43 rel.5c5 
                        icam/homy/lika/SALT/PEACE/SHUNA/rima/Sharl 各氏
        condrv.sys ver1.09c+10  卑弥呼☆/立花えりりん氏
        db.x 060turbo 対応版    SHARP/Hudson/かまだ氏
        HAS060.X        YuNK/かまだ氏
        HLK.X           SALT氏


  以上の制作者の方々に感謝申し上げます。



● 配布規定


  配布&改造自由のフリーウェアです。ソースの引用&組み込みも自由です。い
ずれの場合も連絡の必要はありません。

  また、大変申し訳ありませんが、本プログラムは無保証であり本プログラムに
起因するいかなる損失にも免責とさせて頂きます。



                                                    満開製作所/山口光樹


(EOF)